
/*Copyright  Feliks Rozenberg

                  Licensed under the Apache License, Version 2.0 (the "License");
                  you may not use this file except in compliance with the License.
                  You may obtain a copy of the License at

                      http://www.apache.org/licenses/LICENSE-2.0

                  Unless required by applicable law or agreed to in writing, software
                  distributed under the License is distributed on an "AS IS" BASIS,
                  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                  See the License for the specific language governing permissions and
                  limitations under the License.*/



public class Word 

{
    @Override
    public int hashCode() {
	final int prime = 31;
	int result = 1;
	result = prime * result + ((lemma == null) ? 0 : lemma.hashCode());
	result = prime * result + ((pos == null) ? 0 : pos.hashCode());
	return result;
    }

    @Override
    public boolean equals(Object obj) {
	if (this == obj)
	    return true;
	if (obj == null)
	    return false;
	if (getClass() != obj.getClass())
	    return false;
	Word other = (Word) obj;
	if (lemma == null) {
	    if (other.lemma != null)
		return false;
	} else if (!lemma.equals(other.lemma))
	    return false;
	if (pos == null) {
	    if (other.pos != null)
		return false;
	} else if (!pos.equals(other.pos))
	    return false;
	return true;
    }
    private String lemma;
    private String pos;
    
    private Word(String lemma, String pos)
    {
	this.lemma= lemma;
	this.pos = pos;
    }
    
    public static Word newWord (String lemma, String pos)
    {
	Word newWord = new Word(lemma, pos);
	return newWord;
	
    }
    
    public String getLemma()
    {
	return lemma;
    }
    
    public String getPOS()
    {
	return pos;
    }
    public String toString()
    {
	String output = "The lemma is: " + getLemma() + " and the POS is: " + getPOS();
	return output;
    }

}
